
#ifndef   __USB__SERIAL__H_
#define   __USB__SERIAL__H_


#define   VCOM_PORT 		10

extern int VCOM_COMMAND;

#define   VCOM_NEW_MESSAGE		1

#define 	 VCOM_FIFO_SIZE		256 

#define   HOST_COMMAND_SIZE 	256


void Vcom_Transmit ( void );

void USB_Start( void );

int VCOM_getchar(void);

int VCOM_puts( char * s );

/* return - how many bytes was put into DataBuffer  */
int VCOM_get_data(unsigned char* DataBuffer);

/* return - how many bytes was put into DataBuffer  */
int VCOM_get_ndata(unsigned char* DataBuffer, int BytesNumber);

/* return - bytes number or (-1) if fail */
int VCOM_put_data (char* DataBuffer, unsigned int DataSize);

void VCOM_Connect ( int Connect );

//int Send_To_Host( void* Buffer, int BufferSize );

int VCOM_printf( const char *format, ... );


//extern int(*SendToHost)(void*, int);

void Drive_VCOM ( void );

void VCom_Monitor ( void );

extern char *VCom_Message;
extern char HostCommand[HOST_COMMAND_SIZE];
/* /\* get, set threshold for received bytes *\/ */
/* int Rx_Threshold_Trigger ( void ); */
/* int Rx_Threshold_Set ( int Threshold ); */

#endif
